package com.ungs.bo.impl;

import java.util.ArrayList;
import java.util.List;

import com.ungs.bo.FormatoPapelBO;
import com.ungs.dao.FormatoPapelDAO;
import com.ungs.dao.impl.FormatoPapelDAOImpl;
import com.ungs.entities.FormatoPapel;
import com.ungs.utils.Constantes;

public class FormatoPapelBOImpl extends EntidadBOImpl<FormatoPapel> implements
		FormatoPapelBO {

	private FormatoPapelDAO formatoPapelDAO = new FormatoPapelDAOImpl();

	@SuppressWarnings("unchecked")
	@Override
	public List<FormatoPapel> getAllFormatoPapel() {
		List<FormatoPapel> formatoPapelList = (List<FormatoPapel>) getAll(FormatoPapel.class);
		List<FormatoPapel> formatoPapelReturn = new ArrayList<FormatoPapel>();

		logger.info("Obteniendo lista de formato papel con alta logica");
		for (FormatoPapel formatoPapel : formatoPapelList) {
			if (formatoPapel.getEstadoLogico().equals(Constantes.ALTA)) {
				formatoPapelReturn.add(formatoPapel);
			}
		}

		return formatoPapelReturn;
	}

	@Override
	public void eliminarFormatoPapel(FormatoPapel formatoPapel) {
		logger.info("Baja logica formatoPapel: " + formatoPapel.getId());
		formatoPapel.setEstadoLogico(Constantes.BAJA);
		actualizar(formatoPapel);

	}

	@Override
	public List<FormatoPapel> getFormatoPapelByMedidas(int ancho, int alto,
			boolean todos) {
		return formatoPapelDAO.getFormatoPapelByMedidas(ancho, alto, todos);
	}
}
